// 查询条件
const cdns = [
  // {
  //     // 标签
  //     label: '配置组',
  //     // 字段
  //     field: 'group_id',
  //     // 组件类型
  //     type: 'select',
  //     // 组件键值 用于下拉组件或单选多选日期等类型  //可配合异步api使用
  //     options: [],
  //     // 异步数据
  //     api: 'system/ConfigGroup/index',
  //     // 占位符
  //     place: '根据配置组进行筛选'
  // },
  {
    // 标签
    label: '配置组标识码',
    // 字段
    field: 'group_code',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据配置组标识码进行筛选'
  },
  {
    // 标签
    label: '创建日期',
    // 字段
    field: 'create_time',
    // 组件类型
    type: 'DatePicker',
    // 组件键值 用于下拉组件或单选多选日期等类型  //可配合异步api使用 可为空仅在支持组件时可用
    options: [],
    // 占位符
    place: '根据配置组标识码进行筛选'
  },
  {
    // 标签
    label: '系统配置键',
    // 字段
    field: 'key',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据系统配置键进行筛选'
  },
  {
    // 标签
    label: '系统配置值',
    // 字段
    field: 'value',
    // 组件类型
    type: 'input',
    // 占位符
    place: '根据系统配置值进行筛选'
  }
];
// 列表列配置
const columns = [
  {
    label: '配置组标识码',
    field: 'group_code'
  },
  {
    label: '系统配置键',
    field: 'key'
  },
  {
    label: '系统配置值',
    field: 'value'
  },
  {
    label: '系统配置备注',
    field: 'describe'
  },
  {
    label: '创建时间',
    field: 'create_time'
  },
  {
    label: '修改时间',
    field: 'update_time'
  }
];

const leftColumns = [
  { label: '分组名称', field: 'name' },
  { label: '分组编码', field: 'code' },
  { label: '', field: 'operation', width: 110 }
];
// api地址
const actions = {
  list: {
    api: 'system/config/index',
    permission: ['system.Config/index']
  },
  dele: {
    api: 'system/config/del',
    permission: ['system.Config/del'],
    title: '删除配置'
  },
  edit: {
    api: 'system/config/edit',
    permission: ['system.Config/edit'],
    title: '编辑配置'
  },
  add: {
    api: 'system/config/add',
    permission: ['system.Config/add'],
    title: '创建配置'
  }
};

const leftAction = {
  list: { api: 'system/ConfigGroup/index', permission: ['system.ConfigGroup/index'] },
  add: { api: 'system/ConfigGroup/add', permission: ['system.ConfigGroup/add'], title: '创建分组' },
  edit: { api: 'system/ConfigGroup/edit', permission: ['system.ConfigGroup/edit'], title: '编辑分组' },
  dele: { api: 'system/ConfigGroup/del', permission: ['system.ConfigGroup/del'], title: '删除分组' }
};

const groupDialogConfig = {
  width: '25vw',
  'mask-closable': false,
  draggable: true,
  titleIcon: 'icon-file',
  formConfig: {
    itemLine: 1,
    formItem: [
      { field: 'name', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '组名称' },
      { field: 'code', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '组标识码' }
    ]
  }
};

const configDialogConfig = {
  width: '25vw',
  'mask-closable': false,
  draggable: true,
  titleIcon: 'icon-file',
  formConfig: {
    itemLine: 1,
    formItem: [
      { field: 'key', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '系统配置键' },
      { field: 'value', type: 'input', rule: [{ required: true, message: '必填项,不能为空.' }], label: '系统配置值' },
      { field: 'describe', type: 'input', rule: [], label: '系统配置备注' },
      { field: 'group_id', type: 'hide' },
      { field: 'group_code', type: 'hide' },
    ]
  }
};

export function useColumns() {
  return columns;
}
export function useLeftColumns() {
  return leftColumns;
}
export function useConditions() {
  return cdns;
}
export function useActions() {
  return actions;
}
export function useLeftAction() {
  return leftAction;
}
export function useGroupDialogConfig() {
  return groupDialogConfig;
}
export function useConfigDialogConfig() {
  return configDialogConfig;
}
